package com.sgcc.isc.type;


import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

/**
 * <p>
 * Java class for UserType complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType name="UserType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="USER_ID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="LOGIN_NAME" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="REAL_NAME" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="USER_STATUS" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="BIZORG_ID" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="GENDER" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="IDENTITY_NO" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="BIRTHDAY" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="MOBILE" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="OFFICE_PHONE" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="EMAIL" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="EMPLOY_NO" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="POSITION_CODE" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="POSITION_NAME" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="JOB" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="DUTY" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="DEGREE_CODE" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="COMMENTS" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="UPDATE_DATE" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="IS_DELETED" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="EXTENDS" type="{http://www.sgcc.com/isc/service/}ExtendType" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UserType", propOrder = { "userid", "loginname", "realname", "userstatus", "bizorgid",
		"gender", "identityno", "birthday", "mobile", "officephone", "email", "employno", "positioncode",
		"positionname", "job", "duty", "degreecode", "comments", "updatedate", "isdeleted", "_extends" })
public class UserType {

	@XmlElement(name = "USER_ID", required = true)
	protected String userid;
	@XmlElement(name = "LOGIN_NAME", required = true)
	protected String loginname;
	@XmlElement(name = "REAL_NAME", required = true)
	protected String realname;
	@XmlElement(name = "USER_STATUS", required = true)
	protected String userstatus;
	@XmlElement(name = "BIZORG_ID")
	protected List<String> bizorgid;
	@XmlElement(name = "GENDER")
	protected String gender;
	@XmlElement(name = "IDENTITY_NO")
	protected String identityno;
	@XmlElement(name = "BIRTHDAY")
	protected String birthday;
	@XmlElement(name = "MOBILE")
	protected String mobile;
	@XmlElement(name = "OFFICE_PHONE")
	protected String officephone;
	@XmlElement(name = "EMAIL")
	protected String email;
	@XmlElement(name = "EMPLOY_NO")
	protected String employno;
	@XmlElement(name = "POSITION_CODE")
	protected String positioncode;
	@XmlElement(name = "POSITION_NAME")
	protected String positionname;
	@XmlElement(name = "JOB")
	protected String job;
	@XmlElement(name = "DUTY")
	protected String duty;
	@XmlElement(name = "DEGREE_CODE")
	protected String degreecode;
	@XmlElement(name = "COMMENTS")
	protected String comments;
	@XmlElement(name = "UPDATE_DATE", required = true)
	protected String updatedate;
	@XmlElement(name = "IS_DELETED", required = true)
	protected String isdeleted;
	@XmlElement(name = "EXTENDS")
	protected List<ExtendType> _extends;

	/**
	 * Gets the value of the userid property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getUSERID() {
		return userid;
	}

	/**
	 * Sets the value of the userid property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setUSERID(String value) {
		this.userid = value;
	}

	/**
	 * Gets the value of the loginname property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getLOGINNAME() {
		return loginname;
	}

	/**
	 * Sets the value of the loginname property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setLOGINNAME(String value) {
		this.loginname = value;
	}

	/**
	 * Gets the value of the realname property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getREALNAME() {
		return realname;
	}

	/**
	 * Sets the value of the realname property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setREALNAME(String value) {
		this.realname = value;
	}

	/**
	 * Gets the value of the userstatus property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getUSERSTATUS() {
		return userstatus;
	}

	/**
	 * Sets the value of the userstatus property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setUSERSTATUS(String value) {
		this.userstatus = value;
	}

	/**
	 * Gets the value of the bizorgid property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a
	 * snapshot. Therefore any modification you make to the returned list will
	 * be present inside the JAXB object. This is why there is not a
	 * <CODE>set</CODE> method for the bizorgid property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getBIZORGID().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list {@link String }
	 * 
	 * 
	 */
	public List<String> getBIZORGID() {
		if (bizorgid == null) {
			bizorgid = new ArrayList<String>();
		}
		return this.bizorgid;
	}

	/**
	 * Gets the value of the gender property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getGENDER() {
		return gender;
	}

	/**
	 * Sets the value of the gender property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setGENDER(String value) {
		this.gender = value;
	}

	/**
	 * Gets the value of the identityno property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getIDENTITYNO() {
		return identityno;
	}

	/**
	 * Sets the value of the identityno property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setIDENTITYNO(String value) {
		this.identityno = value;
	}

	/**
	 * Gets the value of the birthday property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getBIRTHDAY() {
		return birthday;
	}

	/**
	 * Sets the value of the birthday property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setBIRTHDAY(String value) {
		this.birthday = value;
	}

	/**
	 * Gets the value of the mobile property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getMOBILE() {
		return mobile;
	}

	/**
	 * Sets the value of the mobile property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setMOBILE(String value) {
		this.mobile = value;
	}

	/**
	 * Gets the value of the officephone property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getOFFICEPHONE() {
		return officephone;
	}

	/**
	 * Sets the value of the officephone property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setOFFICEPHONE(String value) {
		this.officephone = value;
	}

	/**
	 * Gets the value of the email property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getEMAIL() {
		return email;
	}

	/**
	 * Sets the value of the email property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setEMAIL(String value) {
		this.email = value;
	}

	/**
	 * Gets the value of the employno property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getEMPLOYNO() {
		return employno;
	}

	/**
	 * Sets the value of the employno property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setEMPLOYNO(String value) {
		this.employno = value;
	}

	/**
	 * Gets the value of the positioncode property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getPOSITIONCODE() {
		return positioncode;
	}

	/**
	 * Sets the value of the positioncode property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setPOSITIONCODE(String value) {
		this.positioncode = value;
	}

	/**
	 * Gets the value of the positionname property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getPOSITIONNAME() {
		return positionname;
	}

	/**
	 * Sets the value of the positionname property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setPOSITIONNAME(String value) {
		this.positionname = value;
	}

	/**
	 * Gets the value of the job property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getJOB() {
		return job;
	}

	/**
	 * Sets the value of the job property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setJOB(String value) {
		this.job = value;
	}

	/**
	 * Gets the value of the duty property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getDUTY() {
		return duty;
	}

	/**
	 * Sets the value of the duty property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setDUTY(String value) {
		this.duty = value;
	}

	/**
	 * Gets the value of the degreecode property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getDEGREECODE() {
		return degreecode;
	}

	/**
	 * Sets the value of the degreecode property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setDEGREECODE(String value) {
		this.degreecode = value;
	}

	/**
	 * Gets the value of the comments property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getCOMMENTS() {
		return comments;
	}

	/**
	 * Sets the value of the comments property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setCOMMENTS(String value) {
		this.comments = value;
	}

	/**
	 * Gets the value of the updatedate property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getUPDATEDATE() {
		return updatedate;
	}

	/**
	 * Sets the value of the updatedate property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setUPDATEDATE(String value) {
		this.updatedate = value;
	}

	/**
	 * Gets the value of the isdeleted property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getISDELETED() {
		return isdeleted;
	}

	/**
	 * Sets the value of the isdeleted property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setISDELETED(String value) {
		this.isdeleted = value;
	}

	/**
	 * Gets the value of the extends property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a
	 * snapshot. Therefore any modification you make to the returned list will
	 * be present inside the JAXB object. This is why there is not a
	 * <CODE>set</CODE> method for the extends property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getEXTENDS().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list
	 * {@link ExtendType }
	 * 
	 * 
	 */
	public List<ExtendType> getEXTENDS() {
		if (_extends == null) {
			_extends = new ArrayList<ExtendType>();
		}
		return this._extends;
	}

	@Override
	public String toString() {
		return "UserType [userid=" + userid + ", loginname=" + loginname + ", realname=" + realname + ", userstatus="
				+ userstatus + ", bizorgid=" + bizorgid + ", gender=" + gender + ", identityno=" + identityno
				+ ", birthday=" + birthday + ", mobile=" + mobile + ", officephone=" + officephone + ", email=" + email
				+ ", employno=" + employno + ", positioncode=" + positioncode + ", positionname=" + positionname
				+ ", job=" + job + ", duty=" + duty + ", degreecode=" + degreecode + ", comments=" + comments
				+ ", updatedate=" + updatedate + ", isdeleted=" + isdeleted + ", _extends=" + _extends + "]";
	}

}
